package com.it.jzs.vo;

import lombok.Data;

import javax.annotation.Resource;

@Data
//@Resource
public class Result<E> {
    private E data;
    private Meta meta;

    //    private static Meta meta=new Meta();
    @Data
    public static class Meta {
        private String msg;
        private Integer status;
    }

    private Result() {

    }

//    public static <E> Result<E> success(){
//        Meta meta = new Meta();  // 静态内部类只能由本类使用
//        Result<E> result = new Result<>();
//        meta.setMsg("成功");
//        meta.setStatus(200);
//        meta.setMsg(msg);
//        result.setMeta(meta);
//        result.setData(obj);
//    }

    public static <E> Result<E> success(E obj, String msg) {
        Meta meta = new Meta();  // 静态内部类只能由本类使用
        Result<E> result = new Result<>();
        meta.setMsg(msg);
        meta.setStatus(200);
        meta.setMsg(msg);
        result.setMeta(meta);
        result.setData(obj);
        return result;
    }

    public static <E> Result<E> error(Object obj, String msg) {
        Meta meta = new Meta();  // 静态内部类只能由本类使用
        Result result = new Result();
        meta.setMsg(msg);
        meta.setStatus(500);
        meta.setMsg(msg);
        result.setMeta(meta);
        result.setData(obj);
        return result;
    }
}
